For certain important problems in science and engineering-such as solving a wide class of computational fluid dynamics, multi-particle, or life-sciences problems—there is an unlimited demand for computing performance. This need can only be fulfilled by massively parallel computers with many thousands of processors,. providing a performance measured in PetaFLOPS (1015 FLoating-Point Operations per Second) and beyond. At the same time, the demand for storage has grown as fast as that for computation. Large commercial datacenters in 2003 require on the average of one Petabyte (1015 bytes) of on-line, disk-based storage, and certain geospatial and security government applications will require tens to hundreds of petabytes within a few years. Large, massively parallel clustered computers also require Terabit/sec network bandwidth and switches. The future will see data-intensive enterprise applications which combine simultaneous demands for extreme compute power, storage, and communications.
The design of individual compute, storage, and communication subsystems is a well-practiced art, as are the programming techniques for parallelizing large classes of scientific/engineering, and commercial problems. Physical packaging, power dissipation, adequate inter-subsystem communication, and the ability to deal with failures have become the tough problems as the individual subsystems get smaller, more numerous, and more powerful.
Packaging for supercomputers is a long-recognized problem. Seymour Cray cited “the thickness of the wiring mat and getting rid of the heat” as the key problems in supercomputer design.